home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / machserver / notes / callee < prev    next >
Text File  |  1990-09-25  |  969b  |  42 lines

  1. #! /bin/sh
  2. # Display files that use a particular module.
  3. # Use: callee module
  4. #
  5. # Todo: arrange to kill the file if the script is interrupted.
  6.  
  7. if [ $# != 1 ] ; then
  8.     echo "Use: callee module"
  9.     exit 1
  10. fi
  11.  
  12. module=$1
  13. echo "Dependencies on ${module}:"
  14. echo " "
  15.  
  16. tmpFile=/tmp/callee$$
  17.  
  18. rm -f $tmpFile
  19. touch $tmpFile
  20.  
  21. # Find all the header files in the module.  Then find all the source
  22. # files that use them.
  23.  
  24. # Asking for, e.g., lock.h, causes lid to tell us about, e.g.,
  25. # timerClock.h.  This is a bit gnarly to fix.
  26. # Asking for, e.g., "vm.h" gets references to, e.g., "vmShmLock".
  27. # This is fixed by the fgrep.
  28.  
  29. for f in $module/*.h ; do 
  30.     fileName=`basename $f`
  31.     lid $fileName | fgrep $fileName >> $tmpFile
  32. done
  33.  
  34. # Can't use awk for formatting - lid can generate lines that are too
  35. # long for it.  Dunno how to put newline or tab into the file using
  36. # sed.
  37.  
  38. emacs -batch $tmpFile -l /users/kupfer/emacs/callee.el -f save-buffer > /dev/null
  39. cat $tmpFile
  40. rm $tmpFile
  41.